package com.gmcas.dao;

import com.gmcas.dao.entity.User;

public interface UserMapper{
    int deleteByPrimaryKey(Integer id);

    int insert(User record);

    int insertSelective(User record);

    User selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(User record);

    int updateByPrimaryKey(User record);

    /*** customize query ****/

    /**
     * 查询用户名是否已存在,必须保证其唯一性
     * @param username 用户名
     * @return int
     */
    int uniquenessCheck(String username);

    /**
     * 根据用户名查询用户信息,用于登录校验
     * @param username  用户名
     * @return user
     */
    User selectByUsername(String username);

    /**
     * 更新用户信息,根据用户名
     *      更新用户密码,用户状态等等
     * @apiNote
     * @param user
     * @return
     */
    int updateByUsername(User user);
}